<?php
// vim:set expandtab tabstop=3 shiftwidth=3 softtabstop=3 foldclose=all foldmethod=marker:
/**
 * 项目：   5anet
 * 文件：   class/album/DeleteDir.class.php
 *
 * 删除用户的相册目录
 *
 * PHP Version 5
 *
 * @package:   class.album
 * @author:    Mike.G Chinese Name: 黄叶 <hylinux@gmail.com>
 * @license:   http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1 
 * @copyright: www.5anet.com
 * @version:   $Id: $
 * @date:      $Date: $
 */

include_once CLASS_PATH.'main/BaseAction.class.php';

//包含相册的工具表
include_once CLASS_PATH.'album/AlbumUtil.class.php';
include_once CLASS_PATH.'user/UserUtil.class.php';




class DeleteDir extends BaseAction {
   /**
    * 数据库的连接
    */
   private $db;


   /**
    * 构造函数
    * @param:  NULL
    * @return: NULL
    * @access: public
    */
   public function __construct() {
      $this->db = $this->getDB();
   }

   /**
    * 删除一个用户的相册目录
    * 在删除的时候需要判断几个条件
    * 第一：用户必须登录，这个在控制器类完成
    * 第二：判断目录是否属于用户
    * 第三：删除目录下的所有图片
    *
    * @param:  NULL
    * @return: NULL
    * @access: public
    */
   public function run() {

      //能够运行到这一步，说明
      //用户已经登录了。
      $user_name = $_SESSION['user']['name'];   //得到用户的名称
      $user_id = UserUtil::getUserId($this->db, $user_name);

      //取得用户要删除的id
      $dir_id = $this->getParameterFromGET('id');
      
      if ( !$dir_id ) {
         $this->AlertAndBack('没有指定要删除的目录');
         return;
      }

      if ( ! AlbumUtil::isDirExists($this->db, $dir_id) ) {
         $this->AlertAndBack('要删除的目录不存在');
         return; 
      }

      //判断目录是否属于用户
      if ( ! AlbumUtil::dirBelongToUser($this->db, $dir_id, $user_id) ) {
         $this->AlertAndBack('该目录不属于您，您不能删除该目录');
         return;
      }

      //删除该目录下所有的相片
      AlbumUtil::DelPhotoByDir($this->db, $dir_id, $user_id);

      //删除目录
      AlbumUtil::DelDir($this->db, $dir_id);

      $this->forward('index.php?module=album&action=showme');


   }


}

?>
